package com.cskaoyan.javase.array._4operation._3crud;

/**
 * 在开发中String的equals方法来判断比较两个字符串的内容是非常常规的操作
 * 调用方法时 避免空指针异常是必须要考虑的问题,方法有很多:
 *      1.最容易想到的就是用if判断(这种方式适合任何引用数据类型,任何方法调用)
 *      2.特殊的,专门针对String的equals方法 避免空指针异常的方式
 *       String比较特殊,字符串常量在Java代码也能够表示字符串对象
 *       String的equals方法也比较特殊,它在调用时,方法的调用者需要一个字符串,方法的参数也需要一个字符串
 *          "字符串对象引用/字符串常量".equals("字符串对象引用/字符串常量")
 *          这两个字符串谁来调用方法,结果都是一样,但是只有当调用方法的引用是null时,才会产生空指针异常
 *
 *       所以:
 *       a.尽量用一个字符串常量去调用equals方法,这样绝对没有空指针异常
 *       b.尽量让一个确定不能null的字符串引用/字符串常量,去调用方法,这样也绝对没有空指针异常
 *
 *
 * @since 17:01
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        String s1 = null;
        String s2 = "123";
        if (s1 != null) {
            System.out.println(s1.equals(s2));
        }

        System.out.println("123".equals(s1));
    }
}
